package com.cino.demos.sourceCode.mybatisDemo.最贴切的类比demo;

import java.lang.reflect.Proxy;

/**
 * 🏭 代理工厂 - 专门生产智能管家机器人
 */
public class ProxyFactory {
    
    /**
     * 创建智能管家机器人
     * 
     * @param serviceInterface 服务接口类
     * @param brain 超级大脑
     * @param <T> 服务接口类型
     * @return 智能管家机器人
     */
    @SuppressWarnings("unchecked")
    public static <T> T createRobot(Class<T> serviceInterface, SmartBrain brain) {
        return (T) Proxy.newProxyInstance(
            serviceInterface.getClassLoader(),
            new Class[]{serviceInterface},
            brain
        );
    }
}